perm filename L2[F8,ALS]2 blob sn#315704 filedate 1977-11-08 generic text, type T, neo UTF8
     1		     *CHECKERS as of November 6 1977.  EQU's
     2		     * S2 section
     3		     *Resident package addresses
     4		     JOYT    EQU     H'0C00'
     5		     LINE    EQU     H'0FDF'
     6		     SHCB    EQU     H'0FE2'
     7		     INPF    EQU     H'0FE3'
     8		     WTLN    EQU     H'0FE5'
     9		     TXC     EQU     H'0FE8'
    10		     CMRG    EQU     H'0FEA'
    11		     DBNC    EQU     H'0FEB'
    12		     UPI     EQU     H'0FFA'
    13		     JOYI    EQU     H'21AD'
    14		     IJS     EQU     H'22DB'
    15		     SHL     EQU     H'27C6'
    16		     SHR     EQU     H'27D3'
    17		     PUSH    EQU     H'40A9'
    18		     POPS    EQU     H'40BC'
    19		     SPS     EQU     H'40D0'
    20		     WDG     EQU     H'4105'
    21		     WAUD    EQU     H'41C8'
    22		     WAU1    EQU     H'41CC'
    23		     CDS     EQU     H'41D5'
    24		     WMS     EQU     H'4205'
    25		     UDAT    EQU     H'424D'
    26		     TRAN    EQU     H'43CD'
    27		     FCS     EQU     H'43D6'
    28		     WAIT    EQU     H'4501'
    29		     TIR     EQU     H'45DB'
    30		     CLER    EQU     H'4762'
    31		     *Misc. constants
    32		     TCMD    EQU     H'44'
    33		     BCMD    EQU     H'6D'
    34		     TCOL    EQU     H'80'   TEXT COLOR
    35		     ULIN    EQU     H'F5'
    36		     COM     EQU     H'8F7'
    37		     *
    38		     *RAM assignments
    39		     BFLG    EQU     H'0C20'
    40		     BLNF    EQU     H'0C21'	    Blink flag
    41		     XBLN    EQU     H'0C22'	    X value to blink
    42		     YBLN    EQU     H'0C23'	    Y value to blink
    43		     BCNT    EQU     H'0C24'	    Counter used in OKMV
    44		     BKMV    EQU     H'0C25'	    Data to index book moves
    45		     HSAV    EQU     H'0C26'	    H save location
    46		     HSAL    EQU     H'0C27'	    HL save location
    47		     PLY0    EQU     H'0C28'	    Players choice of ply depth
    48		     COL0    EQU     H'0C29'	    0 if machine plays black
    49		     SELX    EQU     H'0C2A'	    Move count
    50		     OBJ0    EQU     H'0C30'	    Board 1, thru H'0E0F'
    51		     TREE    EQU     H'0E10'	    Tree data, thru H'0EFF', Player's b
    52		     TRE2    EQU     H'0E20'	    Machine's first board here
    53		     TRE3    EQU     H'0E30'	    PLY 1 location
    54		     TRE5    EQU     H'0E50'	    PLY 3 location
    55		     PLMD    EQU     H'0E5B'	    Used for temp store of player's mov
    56		     PLMV    EQU     H'0ED0'	    Overlay region used for player's mo
    57		     PLMF    EQU     H'0EE0'	       and move numbers
    58		     SCOR    EQU     H'0EF0'	    28 bytes for scores
    59		     XPOS    EQU     H'0F0C'	    XPOSITION(CURSOR)
    60		     YPOS    EQU     H'0F0F'	    YPOSITION(CURSOR)
    61		     OBJ1    EQU     H'0F10'	    Board 2, thru H'0FAF'
    62		     MOBS    EQU     H'0FB0'	     Mobility and DJ flags (14 bytes)
    63		     RGSV    EQU     H'0FC1'	    Register save start (int. update)
    64		     *
    65		     *Scratch pad assignments
    66		     TEMP   EQU     H'8'
    67		     J	    EQU     H'9'
    68		     HU     EQU     H'A'
    69		     HL     EQU     H'B'
    70		     PLOC   EQU     O'3'	    LISU value for ACTIVE and PASSIVE
    71		     KLOC   EQU     O'4'	    LISU value for KING's and special d
    72		     ELOC   EQU     O'5'	    LISU value for EMPTY's area
    73		     ISA    EQU     O'30'	    ISAR value for active area
    74		     ISP    EQU     O'34'	    ISAR value for passive
    75		     ISK    EQU     O'40'	    ISAR value for kings
    76		     ACTM   EQU     O'46'	    Location of Active material count
    77		     PASM   EQU     O'47'	    Location of Passive material count
    78		     ISE0   EQU     O'50'	    ISAR value for guard byte
    79		     ISE    EQU     O'51'	    ISAR value foempty (with offset)
    80		     *Mimimum ply depths
    81		     PLYT   EQU     H'FE'	    Ply depth for Robot Tom (stored as
    82		     PLYD   EQU     H'FD'	    Ply depth for Robot Dick
    83		     PLYH   EQU     H'FC'	    Ply depth for Robot Harry
    84		     *SPECIAL CONSTANTS
    85		     X	     EQU     H'1'
    86		     Y	     EQU     H'2'
    87		     VX      EQU     H'3'
    88		     VY      EQU     H'4'
    89		     CHT     EQU     H'3'    CURSOR HEIGHT
    90		     YTST    EQU     H'9'
    91		     XZOP    EQU     H'34'   Line for restorre of X zoom
    92		     MAXY    EQU     H'4D'   MAX Y COORD (=H'4F'-CHT)
    93		     *Linkage locations
    94		     PMOV    EQU     H'1100'	     Player's move
    95		     WMC     EQU     H'1200'	     Write message
    96		     BORD    EQU     H'1300'	     Normal redo of board
    97		     SHOW    EQU     H'1780'	     Debugging aid to show board
    98		       ORG  H'1800' SELE JUMP
    99		     *-*-*-
   100 1800 28 17 80 SELE    PI      SHOW
   101 1803 28 1E E9	     PI      WAST	     Debugging show board
   102 1806 63		     LISU    PLOC
   103 1807 68		     LISL    0
   104 1808 10		     LR      DC,H
   105 1809 7C		     LIS     H'C'	     To get MOVE byte
   106 180A 8E		     ADC
   107 180B 16		     LM
   108 180C 50		     LR      0,A	     Save it temporarily
   109 180D F0		     NS      0		     To set status byte
   110 180E 94 04	     BNZ     SEL3
   111 1810 29 1A C7	     JMP     NEXT	     To get next MOVE byte
   112 1813 20 FF    SEL3    LI      H'FF'
   113 1815 8E		     ADC		     Get back to move byte
   114 1816 40		     LR      A,0
   115 1817 24 FF	     AI      H'FF'	     Really subtracting 1
   116 1819 F0		     NS      0		     Remove right-most on-bit
   117 181A 17		     ST			     Put remaining bits back (and index
   118 181B E0		     XS      0		     This gets the extracted bit
   119 181C 56		     LR      6,A	     Save it in 6
   120 181D 16		     LM			     Now get the byte designation
   121 181E 55	     SEL4    LR      5,A
   122 181F 12		     SR      1
   123 1820 12		     SR      1
   124 1821 21 03	     NI      H'3'	     Separate the byte indicator part
   125 1823 54		     LR      4,A	     Save it in 4
   126 1824 45		     LR      A,5
   127 1825 21 13	     NI      H'13'	     Separate the JUMP bit and the dire
   128 1827 55		     LR      5,A	     Save them in 5
   129 1828 20 18    DELE    LI      ISA	     Process Active and Kings for sourc
   130 182A C4		     AS      4		     Add byte #
   131 182B 0B		     LR      IS,A	     Get to initial byte
   132 182C 4C		     LR      A,S
   133 182D 53		     LR      3,A
   134 182E E6		     XS      6		     Delete moving piece
   135 182F 5C		     LR      S,A	     from byte
   136 1830 64		     LISU    KLOC	     To get to corresponding KING byte
   137 1831 4C		     LR      A,S
   138 1832 F6		     NS      6		     Was the piece a king?
   139 1833 84 04	     BZ      DEL2
   140 1835 EC		     XS      S		     If it was delete king bit
   141 1836 5C		     LR      S,A
   142 1837 77		     LIS     H'7'	     Non-zero in 2 for king
   143 1838 52	     DEL2    LR      2,A	     0 for man, 7 for king, (later 1 fo
   144 1839 63		     LISU    PLOC	     Back to active section
   145		     *Now locate captured piece if jump or find destination in normal m
   146 183A 46		     LR      A,6	     Recall MOVE bit
   147 183B 14		     SR      4
   148 183C 84 12	     BZ      INRH	     Bit was in right half of byte
   149 183E 53	     INLH    LR      3,A	     Save partially shifted MOVE bit
   150 183F 45		     LR      A,5	     Get direction
   151 1840 21 01	     NI      H'1'	     To test right-most bit
   152 1842 84 04	     BZ      INL2	     RF or LB move where 4 shift is cor
   153 1844 43		     LR      A,3
   154 1845 12		     SR      1		     LF and LB require an additional sh
   155 1846 53		     LR      3,A
   156 1847 45	     INL2    LR      A,5	     Now test for fore or aft
   157 1848 21 02	     NI      H'2'
   158 184A 84 15	     BZ      BOTH	     Forward move, no byte shift needed
   159 184C 4E		     LR      A,D	     Only to decrement ISAR
   160 184D 90 12    INL3    BR      BOTH
   161		     *
   162 184F 46	     INRH    LR      A,6	     Get MOVE bit again
   163 1850 15		     SL      4		     Left shift if in right half
   164 1851 53		     LR      3,A	     Save partially shifted MOVE bit
   165 1852 45		     LR      A,5	     Get direction
   166 1853 21 01	     NI      H'1'
   167 1855 94 04	     BNZ     INR2	     LF or LB where 4 shift is correct
   168 1857 43		     LR      A,3
   169 1858 13		     SL      1		     RF and RB require an additional sh
   170 1859 53		     LR      3,A
   171 185A 45	     INR2    LR      A,5	     Now test fore and aft
   172 185B 21 02	     NI      H'2'
   173 185D 94 02	     BNZ     BOTH
   174 185F 4D		     LR      A,I	     Only to increment ISAR
   175 1860 45	     BOTH    LR      A,5	     Now is this a jump or a normal mov
   176		     *ISAR still points to active region but may designate
   177		     *an empty square or the capture square
   178 1861 21 10	     NI      H'10'	     Set status for jump bit
   179 1863 94 04	     BNZ     JUMP
   180 1865 29 19 26	     JMP     NORM	     It's a normal move
   181 1868 0A	     JUMP    LR      A,IS
   182 1869 24 04	     AI      H'4'	     To get to passive pieces
   183 186B 0B		     LR      IS,A
   184 186C 4C		     LR      A,S
   185 186D E3		     XS      3		     Remove captured piece
   186 186E 5C		     LR      S,A
   187 186F 0A		     LR      A,IS
   188 1870 24 04	     AI      H'4'	     Corresponding king location
   189 1872 0B		     LR      IS,A
   190 1873 4C		     LR      A,S	     Get byte
   191 1874 F3		     NS      3		     Is the piece a king?
   192 1875 84 07	     BZ      JUM1
   193 1877 E3		     XS      3		     Remove it
   194 1878 5C		     LR      S,A
   195 1879 20 FD	     LI      -H'3'
   196 187B 90 03	     BR      JU11
   197 187D 20 FE    JUM1    LI      -H'2'
   198 187F 50	     JU11    LR      0,A
   199 1880 20 27	     LI      PASM
   200 1882 0B		     LR      IS,A
   201 1883 4C		     LR      A,S
   202 1884 C0		     AS      0
   203 1885 5C		     LR      S,A
   204 1886 20 18	     LI      ISA	     Back to moved-from location
   205 1888 C4		     AS      4		     Byte number is in 4
   206 1889 0B		     LR      IS,A
   207 188A 45		     LR      A,5
   208 188B 21 02	     NI      H'2'	     Test for fore or aft
   209 188D 84 04	     BZ      JUMA	     Fore move
   210 188F 4E		     LR      A,D	     Decrement ISAR (destination always
   211 1890 90 02	     BR      JUMB
   212 1892 4D	     JUMA    LR      A,I	     Increment ISAR
   213 1893 0A	     JUMB    LR      A,IS	     Get the destination byte off-set
   214 1894 24 E8	     AI      H'E8'	     by subtracting O'30' from ISAR val
   215 1896 54		     LR      4,A	     needed if there is a continuation
   216 1897 45		     LR      A,5	     Get direction
   217 1898 21 01	     NI      H'1'	     Test for right or left
   218 189A 46		     LR      A,6	     Get original piece location
   219 189B 84 04	     BZ      JUM2	     0 for R move, ≠0 for L move
   220 189D 12		     SR      1		     Left moves involve a right shift o
   221 189E 90 02	     BR      JUM3
   222 18A0 13	     JUM2    SL      1		     Right moves involve a left shift o
   223 18A1 53	     JUM3    LR      3,A	     Save bit byte in 3, freeing 6 for
   224 18A2 4C		     LR      A,S
   225 18A3 E3		     XS      3		     Set piece down
   226 18A4 5C		     LR      S,A
   227 18A5 70		     CLR
   228 18A6 C2		     AS      2		     Was the piece a king?
   229 18A7 84 05	     BZ      JUMC	     No, might be a promotion
   230 18A9 70		     CLR
   231 18AA 50		     LR      0,A	     Temporary record of promotion cred
   232 18AB 90 1A	     BR     JUM6	     Already a king so no promotion
   233 18AD 70	     JUMC    CLR
   234 18AE E7		     XS      7		     Which side is active
   235 18AF 0A		     LR      A,IS
   236 18B0 84 09	     BZ      JUM4	     0 if forward
   237 18B2 25 18	     CI      O'30'	     Is this byte 0?
   238 18B4 94 29	     BNZ     JU71	     No, so no promotion
   239 18B6 20 F0	     LI      H'F0'	     and the king row?
   240 18B8 90 06	     BR      JUM5	     Promotion indicated, no double jum
   241 18BA 25 1B    JUM4    CI      O'33'	     Is this byte 3?
   242 18BC 94 21	     BNZ     JU71	     No, so no promotion
   243 18BE 7F		     LIS     H'F'	     and the king row?
   244 18BF F3	     JUM5    NS      3
   245 18C0 84 1D	     BZ      JU71	     No
   246 18C2 71		     LIS     H'1'	     1 for promotion
   247 18C3 52		     LR      2,A	     It was 0
   248 18C4 50		     LR      0,A	     Credit for promotion
   249 18C5 56		     LR      6,A	     Used in FIND for no continuation
   250 18C6 64	     JUM6    LISU    KLOC	     Get to King position
   251 18C7 4C		     LR      A,S
   252 18C8 C3		     AS      3		     Put down the king
   253 18C9 5C		     LR      S,A
   254 18CA 40		     LR      A,0
   255 18CB 25 01	     CI      H'1'	     Was there a promotion?
   256 18CD 84 10	     BZ     JU71	     No
   257 18CF 20 26	     LI      ACTM	     Yes
   258 18D1 0B		     LR      IS,A
   259 18D2 4C		     LR      A,S
   260 18D3 1F		     INC		     Add for promotion
   261 18D4 5C		     LR      S,A
   262 18D5 90 05	     BR      JUM9	     Can be no continuation if promotio
   263 18D7 70	     JUM7    CLR
   264 18D8 E0		     XS      0		     Should we check for a double jump?
   265 18D9 84 04	     BZ     JU71	     Yes, a 0 means no promotion
   266 18DB 29 19 59 JUM9    JMP    FORE
   267		     * Set up conditions to try to find a continuation
   268 18DE 29 19 59 JU71    JMP     FORE	     DEBUGGING BYPASS ----
   269 18E1 20 FF	     LI      -H'1'	     Signal for continuation FIND
   270 18E3 56		     LR      6,A
   271 18E4 10		     LR      DC,H
   272 18E5 20 1C	     LI      H'1C'	     Get to byte location
   273 18E7 8E		     ADC		     in the "passed board" position
   274 18E8 43		     LR      A,3	     Save destination info
   275 18E9 17		     ST			     the move byte
   276 18EA 44		     LR      A,4
   277 18EB 17		     ST			     and the byte #
   278 18EC 20 FF	     LI      -H'1'	     and a flag of -1
   279 18EE 17		     ST			     in the ACTM position
   280 18EF 2A 0E F0	     DCI     SCOR	     Advance score
   281 18F2 4B		     LR      A,HL
   282 18F3 14		     SR      4
   283 18F4 24 FF	     AI      -H'1'
   284 18F6 13		     SL      1
   285 18F7 8E		     ADC		     from current board
   286 18F8 0E		     LR      Q,DC
   287 18F9 16		     LM
   288 18FA 50		     LR      0,A
   289 18FB 16		     LM
   290 18FC 51		     LR      1,A
   291 18FD 0F		     LR      DC,Q
   292 18FE 24 04	     AI      H'4'
   293 1900 8E		     ADC		     to continuation board
   294 1901 40		     LR      A,0
   295 1902 17		     ST
   296 1903 41		     LR      A,1
   297 1904 17		     ST
   298 1905 10		     LR      DC,H	     Advance H and
   299 1906 20 20	     LI      H'20'	     copy data two blocks forward
   300 1908 8E		     ADC
   301 1909 11		     LR      H,DC
   302 190A 63		     LISU    PLOC	     SC to RA direct
   303 190B 68		     LISL    0
   304 190C 4D	     JU72    LR      A,I
   305 190D 17		     ST
   306 190E 8F FD	     BR7     JU72
   307 1910 4D		     LR      A,I
   308 1911 17		     ST
   309 1912 64		     LISU    KLOC
   310 1913 4D	     JU73    LR      A,I
   311 1914 17		     ST
   312 1915 8F FD	     BR7     JU73
   313 1917 4D		     LR      A,I
   314 1918 17		     ST
   315 1919 43		     LR      A,3
   316 191A 51		     LR      1,A	     Mask for FIND
   317 191B 10		     LR      DC,H
   318 191C 28 1A 36	     PI      RASC	     Load scratchpad
   319 191F 10		     LR      DC,H
   320 1920 28 1E 96	     PI      EMPT
   321 1923 29 1B 36	     JMP     RFJ	     Find continuations if any
   322		     * NORM  FORE
   323		     *Now make normal move
   324 1926 10	     NORM    LR      DC,H	     Back in step
   325 1927 70		     CLR
   326 1928 50		     LR      0,A	     Flag for no promotion
   327 1929 63		     LISU    PLOC	     Get back to Active pieces
   328 192A 4C		     LR      A,S	     LISL still OK
   329 192B C3		     AS      3
   330 192C 5C		     LR      S,A	     Put in moved piece
   331 192D 42		     LR      A,2	     Was it a king
   332 192E F2		     NS      2
   333 192F 94 1B	     BNZ     NOM6	     Yes so don't promote but do put ki
   334 1931 45		     LR      A,5
   335 1932 21 02	     NI      H'2'	     Test for direction
   336 1934 84 0A	     BZ      NOM4	     Is it going forward?
   337 1936 0A		     LR      A,IS	     No
   338 1937 25 30	     CI      H'30'	     Did it get to the byte 0?
   339 1939 94 1F	     BNZ     FORE	     No
   340 193B 20 F0	     LI      H'F0'	     and in king row?
   341 193D 90 08	     BR      NOM5	     Mark for promotion
   342 193F 0A	     NOM4    LR      A,IS	     Going forward case
   343 1940 25 33	     CI      H'33'	     Did it get to byte 3?
   344 1942 94 16	     BNZ     FORE	     No
   345 1944 20 0F	     LI      H'F'	     and in king row?
   346 1946 F3	     NOM5    NS      3
   347 1947 84 11	     BZ      FORE	     No
   348 1949 71		     LIS     H'1'
   349 194A 50		     LR      0,A	     A promotion flag
   350 194B 64	     NOM6    LISU    KLOC	     Now get to king byte
   351 194C 4C		     LR      A,S	     Get corresponding king byte for de
   352 194D C3		     AS      3		     Insert king
   353 194E 5C		     LR      S,A	     And replace byte
   354 194F 70		     CLR
   355 1950 C0		     AS      0
   356 1951 84 07	     BZ      FORE
   357 1953 20 26	     LI      ACTM	     Get to active  material location
   358 1955 0B		     LR      IS,A
   359 1956 4C		     LR      A,S
   360 1957 1F		     INC		     Credit for promotion
   361 1958 5C		     LR      S,A
   362 1959 4B	     FORE    LR      A,HL	     Where are we?
   363 195A 25 10	     CI      H'10'
   364 195C 84 5A	     BZ      FOR5	     Player's move has been made
   365 195E 28 17 80 FOR2    PI      SHOW	     DEBUGGING AID
   366 1961 28 1E E9	     PI      WAST
   367 1964 47		     LR      A,7
   368 1965 18		     COM		     Change color
   369 1966 57		     LR      7,A
   370 1967 10		     LR      DC,H	     GET back in step
   371 1968 20 10	     LI      H'10'
   372 196A 8E		     ADC
   373 196B 11		     LR      H,DC
   374 196C 28 1A 47	     PI      SCRA	     Prepare for normal advance
   375 196F 4B		     LR      A,HL	     Can we advance score?
   376 1970 14		     SR      4
   377 1971 25 02	     CI      H'2'
   378 1973 81 1E	     BP      FOR4	     Don't advance score and could be s
   379 1975 24 FF	     AI      -H'1'	     Start at zero
   380 1977 13		     SL      1		     Scores take 2 bytes each so *2
   381 1978 2A 0E F0	     DCI     SCOR
   382 197B 8E		     ADC		     Current location
   383 197C 2C		     XDC
   384 197D 2A 0E F0	     DCI     SCOR
   385 1980 24 FC	     AI      -H'4'
   386 1982 8E		     ADC		     Get to earlier entry
   387 1983 16		     LM			     Copy it
   388 1984 2C		     XDC
   389 1985 17		     ST
   390 1986 2C		     XDC
   391 1987 16		     LM
   392 1988 2C		     XDC
   393 1989 17		     ST
   394 198A 4B		     LR      A,HL	     Where are we?
   395 198B 25 30	     CI      H'30'
   396 198D 81 04	     BP      FOR4	     Still could be special
   397 198F 29 1B 22 FOR3    JMP     FIND	     Go forward normally
   398 1992 2A 0C 2A FOR4    DCI     SELX
   399 1995 0E		     LR      Q,DC
   400 1996 16		     LM
   401 1997 25 01	     CI      H'1'
   402 1999 91 F5	     BM      FOR3	     Normal play
   403 199B 1F		     INC		     Book or random move has been made
   404 199C 17		     ST			     so count this as a move
   405 199D 70		     CLR		     Clear start of PLMV list for
   406 199E 2A 0E D0	     DCI     PLMV	     listing player's possible moves
   407 19A1 17		     ST
   408 19A2 10		     LR      DC,H
   409 19A3 2C		     XDC
   410 19A4 2A 0E 10	     DCI     TREE	     Prepare for TRAN
   411 19A7 11		     LR      H,DC
   412 19A8 20 10	     LI      H'10'
   413 19AA 62		     LISU    2
   414 19AB 68		     LISL    0
   415 19AC 5C		     LR      S,A
   416 19AD 28 43 CD	     PI      TRAN
   417 19B0 2A 0E 10	     DCI     TREE
   418 19B3 11		     LR      H,DC
   419 19B4 29 1B 22	     JMP     FIND	     FIND exits to PMOV when HL is H'10
   420 19B7 28 13 00 FOR5    PI      BORD	     Show board after players move
   421 19BA 20 04	     LI      H'4'	     "MY MOVE"
   422 19BC 50		     LR      0,A
   423 19BD 28 12 00	     PI      WMC
   424 19C0 2A 0E F0	     DCI     SCOR	     Start scores off at H'8010'
   425 19C3 20 80	     LI      H'80'	     so that adding PLY-10 will
   426 19C5 17		     ST			     not yield a number that
   427 19C6 20 10	     LI      H'10'	     can not be negated
   428 19C8 17		     ST
   429 19C9 20 80	     LI      H'80'
   430 19CB 17		     ST
   431 19CC 20 10	     LI      H'10'
   432 19CE 17		     ST
   433 19CF 47		     LR      A,7
   434 19D0 18		     COM		Change color
   435 19D1 57		     LR      7,A
   436 19D2 10		     LR      DC,H	     Advance H
   437 19D3 20 10	     LI      H'10'
   438 19D5 8E		     ADC
   439 19D6 11		     LR      H,DC
   440 19D7 28 1A 47	     PI      SCRA	     SC to RA with sides reversed
   441 19DA 10		     LR      DC,H
   442 19DB 28 1A 36	     PI      RASC	     RA to SC preparing for a normal mo
   443 19DE 2A 0C 2A	     DCI     SELX
   444 19E1 0E		     LR      Q,DC
   445 19E2 16		     LM
   446 19E3 1F		     INC		     Add 1 to move count
   447 19E4 0F		     LR      DC,Q
   448 19E5 17		     ST
   449 19E6 25 01	     CI      H'1'
   450 19E8 84 04	     BZ      FOR6	     Use stored move
   451 19EA 29 1B 22	     JMP     FIND	     Go find normal reply
   452 19ED 62	     FOR6    LISU    2		     Get random number
   453 19EE 6D		     LISL    5
   454 19EF 4C		     LR      A,S
   455 19F0 21 03	     NI      H'3'	     0 to 3 random number
   456 19F2 50		     LR      0,A
   457 19F3 12		     SR      1
   458 19F4 51		     LR      1,A	     0 to 1 random number
   459 19F5 40		     LR      A,0
   460 19F6 21 01	     NI      H'1'
   461 19F8 50		     LR      0,A	     2nd 0 to 1 random number
   462		     * Machine to make 2nd move from book
   463 19F9 2A 0C 25	     DCI     BKMV	     Get stored move munber
   464 19FC 16		     LM
   465 19FD 13		     SL      1		     X2, 2 entries for each input move
   466 19FE C0		     AS      0		     Random choice between them
   467 19FF 2A 1E DB	     DCI     BOK2	     Stored table of book replies
   468 1A02 8E		     ADC
   469 1A03 16		     LM			     Get reply number
   470 1A04 50		     LR      0,A
   471 1A05 70		     CLR		     Use second number to select which
   472 1A06 E1		     XS      1
   473 1A07 40		     LR      A,0
   474 1A08 84 02	     BZ      BMV2
   475 1A0A 14		     SR      4
   476 1A0B 21 07    BMV2    NI      H'7'
   477 1A0D 50		     LR      0,A	     The final selection
   478 1A0E 2A 1A 31	     DCI     REDM	     Possible Red moves
   479 1A11 16	     BM17    LM			     Get byte record
   480 1A12 51		     LR      1,A
   481 1A13 41	     BM18    LR      A,1
   482 1A14 F1		     NS      1
   483 1A15 94 04	     BNZ     BM19	     Is this byte exhausted?
   484 1A17 16		     LM			     Step over byte info
   485 1A18 90 F8	     BR      BM17	     Go to next byte record
   486 1A1A 52	     BM19    LR      2,A
   487 1A1B 24 FF	     AI      H'FF'	     Subtract 1
   488 1A1D F1		     NS      1
   489 1A1E 51		     LR      1,A	     byte less rightmost bit
   490 1A1F E2		     XS      2		     This leaves 1 bit in A
   491 1A20 30		     DS      0
   492 1A21 81 F1	     BP      BM18
   493 1A23 56		     LR      6,A	     Save the byte bit
   494 1A24 16		     LM			     Get the byte info
   495 1A25 54		     LR      4,A	     The byte indicator
   496 1A26 10		     LR      DC,H
   497 1A27 7C		     LIS     H'C'
   498 1A28 8E		     ADC
   499 1A29 46		     LR      A,6
   500 1A2A 17		     ST
   501 1A2B 44		     LR      A,4
   502 1A2C 17		     ST
   503 1A2D 10		     LR      DC,H
   504 1A2E 29 18 00	     JMP     SELE
   505		     *-*-*- Initial moves for red
   506 1A31 07	     REDM   DC	    B'00000111'      3 pieces
   507 1A32 0A		    DC	    B'00001010'      Byte 2, RB
   508 1A33 0F		    DC	    B'00001111'      4 pieces
   509 1A34 0B		    DC	    B'00001011'      Byte 2, LB
   510 1A35 00		    DC	    H'00'
   511		     * RASC SCRA FKT STMV
   512		     *-*-*- RASC RAM to SC transfer
   513 1A36 08	     RASC    LR      K,P	     RAM to SC
   514 1A37 63		     LISU    PLOC	    ←SC buffer with Active and Passive
   515 1A38 68		     LISL    0
   516 1A39 16	     RAS2    LM
   517 1A3A 5D		     LR      I,A
   518 1A3B 8F FD	     BR7     RAS2
   519 1A3D 16		     LM
   520 1A3E 5D		     LR      I,A
   521 1A3F 64		     LISU    KLOC
   522 1A40 16	     RAS3    LM
   523 1A41 5D		     LR      I,A
   524 1A42 8F FD	     BR7     RAS3
   525 1A44 16		     LM
   526 1A45 5D		     LR      I,A
   527 1A46 0C		     PK
   528		     *	SCRA  SC to RAM with side reversal
   529 1A47 08	     SCRA    LR      K,P	     SC to RAM for side reversal
   530 1A48 28 40 A9	     PI      PUSH
   531 1A4B 63		     LISU    PLOC
   532 1A4C 6C		     LISL    4
   533 1A4D 74		     LIS     H'4'
   534 1A4E 50		     LR      0,A
   535 1A4F 28 1A 6D	     PI      SCRL
   536 1A52 68		     LISL    0
   537 1A53 74		     LIS     H'4'
   538 1A54 50		     LR      0,A
   539 1A55 28 1A 6D	     PI      SCRL
   540 1A58 64		     LISU    KLOC
   541 1A59 68		     LISL    0
   542 1A5A 74		     LIS     H'4'
   543 1A5B 50		     LR      0,A
   544 1A5C 28 1A 6D	     PI      SCRL
   545 1A5F 70		     CLR		     Zero MOVE byte
   546 1A60 17		     ST
   547 1A61 17		     ST			     and move info
   548 1A62 4D		     LR      A,I	     To index only
   549 1A63 4D		     LR      A,I
   550 1A64 4D		     LR      A,I
   551 1A65 4E		     LR      A,D	     Reverse ACTM and PASM
   552 1A66 17		     ST
   553 1A67 4E		     LR      A,D
   554 1A68 17		     ST
   555 1A69 28 40 BC	     PI      POPS
   556 1A6C 0C		     PK
   557		     *
   558 1A6D 08	     SCRL    LR      K,P	     Used by SCRA and SCRD
   559 1A6E 4D	     SCR3    LR      A,I
   560 1A6F 17		     ST
   561 1A70 30		     DS      0
   562 1A71 94 FC	     BNZ     SCR3
   563 1A73 0C		     PK
   564		     *-*-*- Test if Kings only can move
   565 1A74 08	     FKT     LR      K,P
   566 1A75 70		     CLR
   567 1A76 C7		     AS      7
   568 1A77 94 09	     BNZ     FK1	     Only kings in this direction
   569 1A79 70	     FKT2    CLR
   570 1A7A E3		     XS      3
   571 1A7B 0C		     PK			     Normal pieces OK
   572 1A7C 08	     BKT     LR      K,P
   573 1A7D 70		     CLR
   574 1A7E C7		     AS      7		   Test sides for backward move
   575 1A7F 94 08	     BNZ     FK2	     NORMAL pieces can move
   576 1A81 20 20    FK1     LI      ISK
   577 1A83 C4		     AS      4
   578 1A84 0B		     LR      IS,A	     KINGS only can move
   579 1A85 4C		     LR      A,S
   580 1A86 F3		     NS      3
   581 1A87 53		     LR      3,A
   582 1A88 0C	     FK2     PK
   583		     *Subroutine to add to MOBILITY, and to store MOVE and FLAG bytes i
   584 1A89 08	     STMV    LR      K,P
   585 1A8A 4B		     LR      A,HL
   586 1A8B 14		     SR      4
   587 1A8C 25 01	     CI      H'01'	     Is this the player's board
   588 1A8E 94 19	     BNZ     STM3	     No
   589 1A90 2A 0E D0	     DCI     PLMV	     Player's moves stored separately
   590 1A93 70	     STM0    CLR
   591 1A94 8C		     XM
   592 1A95 84 04	     BZ      STM1	     Find empty space
   593 1A97 16		     LM			     Skip info space
   594 1A98 90 FA	     BR      STM0	     Try again
   595 1A9A 20 FF    STM1    LI      H'FF'	     Back up
   596 1A9C 8E		     ADC
   597 1A9D 43		     LR      A,3
   598 1A9E 17		     ST
   599 1A9F 44		     LR      A,4
   600 1AA0 13		     SL      1
   601 1AA1 13		     SL      1
   602 1AA2 C5		     AS      5
   603 1AA3 17		     ST
   604 1AA4 70		     CLR
   605 1AA5 17		     ST			     Store 0 as stop
   606 1AA6 90 10	     BR      STM2
   607 1AA8 70	     STM3    CLR
   608 1AA9 E2		     XS      2		     To set status byte
   609 1AAA 94 0C	     BNZ    STM2	    One is already stored
   610 1AAC 10		     LR      DC,H	     Get back in step (may not be neces
   611 1AAD 7C		     LIS     H'C'	     To get to MOVE byte
   612 1AAE 8E		     ADC
   613 1AAF 43	     STM4    LR      A,3
   614 1AB0 17		     ST			     Store MOVE byte in RAM
   615 1AB1 44		     LR      A,4	     Get the byte pointer
   616 1AB2 13		     SL      1
   617 1AB3 13		     SL      1
   618 1AB4 C5		     AS      5
   619 1AB5 17		     ST			     Put this into RAM
   620 1AB6 10		     LR      DC,H	     May be necessary
   621 1AB7 70	     STM2    CLR
   622 1AB8 50		     LR      0,A	     To accumulate count
   623 1AB9 43		     LR      A,3
   624 1ABA 30	     STM5    DS      0
   625 1ABB 24 FF	     AI      H'FF'
   626 1ABD F3		     NS      3		     Removes rightmost bit
   627 1ABE 53		     LR      3,A
   628 1ABF 94 FA	     BNZ     STM5
   629 1AC1 40		     LR      A,0
   630 1AC2 18		     COM
   631 1AC3 1F		     INC
   632 1AC4 C2		     AS      2		     Add in previous count
   633 1AC5 52		     LR      2,A
   634 1AC6 0C		     PK
   635		     * NEXT  FIND  RFJ	LFJ  RBJ  LBJ
   636 1AC7 10	     NEXT    LR      DC,H
   637 1AC8 20 FC	     LI      -H'4'	     Look to earlier board data
   638 1ACA 8E		     ADC
   639 1ACB 16		     LM
   640 1ACC 51		     LR      1,A	     Get move byte just in case
   641 1ACD 16		     LM
   642 1ACE 54		     LR      4,A	     and byte info
   643 1ACF 70		     CLR
   644 1AD0 52		     LR      2,A
   645 1AD1 8C		     XM			     Now look at ACTM
   646 1AD2 81 14	     BP      NEXX	     Not a continuation board
   647 1AD4 10		     LR      DC,H
   648 1AD5 7D		     LIS     H'D'
   649 1AD6 8E		     ADC
   650 1AD7 0E		     LR      Q,DC
   651 1AD8 16		     LM
   652 1AD9 21 03	     NI      H'3'	     Get last used direction
   653 1ADB 1F		     INC
   654 1ADC 25 03	     CI      H'3'
   655 1ADE 91 16	     BM      NEXY	     Last direction used
   656 1AE0 55		     LR      5,A
   657 1AE1 20 FF	     LI      -H'1'
   658 1AE3 56		     LR      6,A	     Set continuation flag
   659 1AE4 29 1B 92	     JMP     RBJ0
   660 1AE7 10	     NEXX    LR      DC,H
   661 1AE8 7D		     LIS     H'D'	     Last used byte info
   662 1AE9 8E		     ADC
   663 1AEA 16		     LM
   664 1AEB 55		     LR      5,A
   665 1AEC 21 0F	     NI      H'F'
   666 1AEE 24 01	     AI      H'1'
   667 1AF0 50		     LR      0,A
   668 1AF1 25 0F	     CI      H'F'
 **OPERATOR SYNTAX    LINE #   669
   669
   670 1AF3 81 04	     BP      NEXA	     Is this the last byte and directio
   671 1AF5 29 1D 13 NEXY    JMP     AFT	     Yes, so back up
   672 1AF8 70	     NEXA    CLR
   673 1AF9 52		     LR      2,A	     Used as flag for move found
   674 1AFA 71		     LIS     H'1'	     Set to 1 for normal back-up
   675 1AFB 56		     LR      6,A
   676 1AFC 20 FF	     LI      H'FF'
   677 1AFE 51		     LR      1,A	     All pieces allowed to move
   678 1AFF 10		     LR      DC,H
   679 1B00 40		     LR      A,0
   680 1B01 12		     SR      1
   681 1B02 12		     SR      1
   682 1B03 21 03	     NI      H'3'
   683 1B05 54		     LR      4,A
   684 1B06 70		     CLR
   685 1B07 E5		     XS      5
   686 1B08 25 0F	     CI      H'F'
   687 1B0A 91 0C	     BM      NEXJ	     Jumps required
   688 1B0C 40		     LR      A,0
   689 1B0D 21 03	     NI      H'3'
   690 1B0F 84 04	     BZ      NEN0
   691 1B11 29 1C 81	     JMP     RBN0
   692 1B14 29 1C 35 NEN0    JMP     RFN
   693 1B17 40	     NEXJ    LR      A,0
   694 1B18 21 03	     NI      H'3'
   695 1B1A 84 04	     BZ      NEJ0
   696 1B1C 29 1B 92	     JMP     RBJ0
   697 1B1F 29 1B 36 NEJ0    JMP     RFJ
   698		     *We enter here on going forward
   699 1B22 10	     FIND    LR      DC,H
   700 1B23 28 1A 36	     PI      RASC	     Get board into SC
   701 1B26 28 1E 96	     PI      EMPT	     Compute the empty squares
   702 1B29 28 17 80	     PI      SHOW
   703 1B2C 28 1E E9	     PI      WAST
   704 1B2F 70		     CLR
   705 1B30 54		     LR      4,A	     Start with byte 0
   706 1B31 52		     LR      2,A	     Mobility count and move-found flag
   707 1B32 56		     LR      6,A	     So all moves will be found
   708 1B33 20 FF	     LI      H'FF'
   709 1B35 51		     LR      1,A	     To find all possible jump moves
   710 1B36 20 18    RFJ     LI      ISA	     Active pieces
   711 1B38 C4		     AS      4		     Add byte off-set
   712 1B39 0B		     LR      IS,A	     Get to byte
   713 1B3A 4C		     LR      A,S
   714 1B3B F1		     NS      1		     FF if normal, 1 bit only for conti
   715 1B3C 53		     LR      3,A	     3 used to develop final byte
   716 1B3D 28 1A 74	     PI      FKT	     Any forward moving pieces?
   717 1B40 20 2A	     LI      ISE+1	     Look to empty squares forward
   718 1B42 C4		     AS      4		     Add byte off-set
   719 1B43 0B		     LR      IS,A	     Destination byte location
   720 1B44 4C		     LR      A,S
   721 1B45 12		     SR      1
   722 1B46 F3		     NS      3
   723 1B47 53		     LR      3,A	     Only pieces that have place to lan
   724 1B48 20 1C	     LI      ISP	     Passive pieces
   725 1B4A C4		     AS      4
   726 1B4B 0B		     LR      IS,A
   727 1B4C 4D		   LR	   A,I		  Look to RF passive pieces forward
   728 1B4D 15		   SL	   4		  In front of left-most bits
   729 1B4E 50		   LR	   0,A
   730 1B4F 4C		   LR	   A,S
   731 1B50 14		   SR	   4		  In front of right-most bits
   732 1B51 12		   SR	   1
   733 1B52 C0		   AS	   0
   734 1B53 F3		   NS	   3
   735 1B54 53		   LR	   3,A		  Pieces that can jump RF
   736 1B55 84 0E	     BZ      LFJ	  Were any found?
   737 1B57 20 10	     LI      H'10'	     The RFJ direction and J indicator
   738 1B59 55		     LR      5,A
   739 1B5A 28 1A 89	     PI      STMV	     Store move byte and info
   740 1B5D 70		     CLR
   741 1B5E C6		     AS      6		     Recall indicator
   742 1B5F 84 04	     BZ      LFJ	     We want all moves
   743 1B61 29 1B F2	     JMP     FIN1
   744 1B64 20 18    LFJ     LI      ISA
   745 1B66 C4		     AS      4		     Add byte off-set
   746 1B67 0B		     LR      IS,A	     Get to initial byte
   747 1B68 4C		     LR      A,S
   748 1B69 F1		     NS      1		     FF if normal, 1 bit only for conti
   749 1B6A 53		     LR      3,A
   750 1B6B 28 1A 74	     PI      FKT
   751 1B6E 20 2A	     LI      ISE+1	     Empty squares forward
   752 1B70 C4		     AS      4
   753 1B71 0B		     LR      IS,A
   754 1B72 4C		     LR      A,S
   755 1B73 13		     SL      1
   756 1B74 F3		     NS      3
   757 1B75 53		     LR      3,A	     Only pieces that have a place to l
   758 1B76 20 1C	     LI      ISP
   759 1B78 C4		     AS      4
   760 1B79 0B		     LR      IS,A
   761 1B7A 4D		   LR	   A,I
   762 1B7B 15		   SL	   4
   763 1B7C 13		   SL	   1
   764 1B7D 50		   LR	   0,A
   765 1B7E 4C		   LR	   A,S
   766 1B7F 14		   SR	   4
   767 1B80 C0		   AS	   0
   768 1B81 F3		   NS	   3
   769 1B82 53		   LR	   3,A		   Pieces that can jump LF
   770 1B83 84 15	     BZ      RBJ
   771 1B85 20 11	     LI      H'11'	     The LFJ direction and J indicator
   772 1B87 55		     LR      5,A
   773 1B88 28 1A 89	     PI      STMV
   774 1B8B 70		     CLR
   775 1B8C E6		     XS      6
   776 1B8D 84 0B	     BZ      RBJ
   777 1B8F 29 1B F2	     JMP     FIN1
   778 1B92 45	     RBJ0    LR      A,5
   779 1B93 25 02	     CI      H'2'	     Which direction, 1, 2, or 3?
   780 1B95 91 31	     BM      LBJ	     It was a 3
   781 1B97 94 CC	     BNZ     LFJ	     It was a 1
   782 1B99 20 18    RBJ     LI      ISA
   783 1B9B C4		     AS      4		     Add byte off-set
   784 1B9C 0B		     LR      IS,A	     Get to initial byte
   785 1B9D 4C		     LR      A,S
   786 1B9E F1		     NS      1		     FF if normal, 1 bit only for conti
   787 1B9F 53		     LR      3,A
   788 1BA0 28 1A 7C	     PI      BKT
   789 1BA3 20 28	     LI      ISE-1	     Look to empty squares backward
   790 1BA5 C4		     AS      4
   791 1BA6 0B		     LR      IS,A
   792 1BA7 4C		     LR      A,S
   793 1BA8 12		     SR      1
   794 1BA9 F3		     NS      3
   795 1BAA 53		     LR      3,A
   796 1BAB 20 1B	     LI      ISP-1	     Look to passive pieces backward
   797 1BAD C4		     AS      4
   798 1BAE 0B		     LR      IS,A
   799 1BAF 4D		   LR	   A,I
   800 1BB0 15		   SL	   4
   801 1BB1 50		   LR	   0,A
   802 1BB2 4C		   LR	   A,S
   803 1BB3 14		   SR	   4
   804 1BB4 12		   SR	   1
   805 1BB5 C0		   AS	   0
   806 1BB6 F3		   NS	   3
   807 1BB7 53		   LR	   3,A		   Pieces that can jump RB
   808 1BB8 84 0E	     BZ      LBJ
   809 1BBA 20 12	     LI      H'12'	     The RBJ direction and J indicator
   810 1BBC 55		     LR      5,A
   811 1BBD 28 1A 89	     PI      STMV
   812 1BC0 70		     CLR
   813 1BC1 E6		     XS      6
   814 1BC2 84 04	     BZ      LBJ
   815 1BC4 29 1B F2	     JMP     FIN1
   816 1BC7 20 18    LBJ     LI      ISA
   817 1BC9 C4		     AS      4		     Add byte off-set
   818 1BCA 0B		     LR      IS,A	     Get to initial byte
   819 1BCB 4C		     LR      A,S
   820 1BCC F1		     NS      1		     FF if normal, 1 bit only for conti
   821 1BCD 53		     LR      3,A
   822 1BCE 28 1A 7C	     PI      BKT
   823 1BD1 20 28	     LI      ISE-1	     Empty squares backward
   824 1BD3 C4		     AS      4
   825 1BD4 0B		     LR      IS,A
   826 1BD5 4C		     LR      A,S
   827 1BD6 13		     SL      1
   828 1BD7 F3		     NS      3
   829 1BD8 53		     LR      3,A
   830 1BD9 20 1B	     LI      ISP-1	   Look to passive pieces backward
   831 1BDB C4		     AS      4
   832 1BDC 0B		     LR      IS,A
   833 1BDD 4D		   LR	   A,I
   834 1BDE 15		   SL	   4
   835 1BDF 13		   SL	   1
   836 1BE0 50		   LR	   0,A
   837 1BE1 4C		   LR	   A,S
   838 1BE2 14		   SR	   4
   839 1BE3 C0		   AS	   0
   840 1BE4 F3		   NS	   3
   841 1BE5 53		   LR	   3,A		   Pieces that can jump LB
   842 1BE6 84 17	     BZ      FIN3
   843 1BE8 20 13	     LI      H'13'	     The RBJ direction and J indicator
   844 1BEA 55		     LR      5,A
   845 1BEB 28 1A 89	     PI      STMV
   846 1BEE 70		     CLR
   847 1BEF E6		     XS      6
   848 1BF0 84 11	     BZ      FIN4	     We want them all
   849 1BF2 4B	     FIN1    LR      A,HL	     Jump found, where are we?
   850 1BF3 14		     SR      4		     To get the ply
   851 1BF4 25 0C    FIN2    CI      H'C'	     Are we out of space? (next block c
   852		     * SET TEMPORARILY LOW TO CHECK FOR TROUBLE, COULD BE AT D
   853 1BF6 91 04	     BM      FINX	     To compute non-jump mobility and s
   854 1BF8 29 1D 06	     JMP     NOR4	     Save mobility and go to SELE
   855 1BFB 29 1E 1D FINX    JMP     EVAL	     TEMPORARY SAFETY STOP, SHOULD GO T
   856 1BFE 70	     FIN3    CLR
   857 1BFF E6		     XS      6
   858 1C00 91 28	     BM      FIN9	     Continuation case
   859 1C02 44	     FIN4    LR      A,4	     Go to next board byte
   860 1C03 1F		     INC
   861 1C04 21 03	     NI      H'3'
   862 1C06 54		     LR      4,A
   863 1C07 84 04	     BZ      FIN5	     There are no more
   864 1C09 29 1B 36	     JMP     RFJ	     Go round again for next byte
   865 1C0C 70	     FIN5    CLR
   866 1C0D E6		     XS      6
   867 1C0E 84 04	     BZ      FIN6
   868 1C10 29 1D 13	     JMP     AFT	     No more jumps
   869 1C13 70	     FIN6    CLR
   870 1C14 E2		     XS      2		     Have any jumps been found?
   871 1C15 94 04	     BNZ     FIN7	     Yes
   872 1C17 29 1C 35	     JMP     RFN	     Check on normal moves
   873 1C1A 4B	     FIN7    LR      A,HL
   874 1C1B 14		     SR      4
   875 1C1C 25 01	     CI      H'1'
   876 1C1E 94 07	     BNZ     FIN8
   877 1C20 28 13 00	     PI      BORD
   878 1C23 29 11 00	     JMP     PMOV
   879 1C26 29 18 00 FIN8    JMP     SELE
   880		     *
   881 1C29 10	     FIN9    LR      DC,H	     There was no continuation
   882 1C2A 28 1A 36	     PI      RASC	     Put data back into SC
   883 1C2D 10		     LR      DC,H
   884 1C2E 20 E0	     LI      H'E0'	     Back up 2
   885 1C30 8E		     ADC
   886 1C31 11		     LR      H,DC
   887 1C32 29 19 59	     JMP     FORE	     and go forward
   888		     * RFN LFN RBN LBN NORF NORT
   889 1C35 20 18    RFN     LI      ISA
   890 1C37 C4		     AS      4		     Add byte off-set
   891 1C38 0B		     LR      IS,A	     Get to initial byte
   892 1C39 4C		     LR      A,S
   893 1C3A 53		     LR      3,A
   894 1C3B 28 1A 74	     PI      FKT
   895 1C3E 84 49	     BZ      RBN
   896 1C40 20 29	     LI      ISE	     Start of empty region
   897 1C42 C4		     AS      4		     Add off-set
   898 1C43 0B		     LR      IS,A
   899 1C44 4D		   LR	   A,I		  Look to RF empty squares
   900 1C45 15		   SL	   4
   901 1C46 50		   LR	   0,A
   902 1C47 4C		   LR	   A,S
   903 1C48 14		   SR	   4
   904 1C49 12		   SR	   1
   905 1C4A C0		   AS	   0
   906 1C4B F3		   NS	   3
   907 1C4C 53		   LR	   3,A		  Pieces that can move RF
   908 1C4D 84 0D	     BZ      LFN
   909 1C4F 70		     CLR
   910 1C50 55		     LR      5,A
   911 1C51 28 1A 89	     PI      STMV
   912 1C54 70		     CLR
   913 1C55 E6		     XS      6
   914 1C56 84 04	     BZ      LFN
   915 1C58 29 1C D1	     JMP     NORF
   916 1C5B 20 18    LFN     LI      ISA
   917 1C5D C4		     AS      4		     Add byte off-set
   918 1C5E 0B		     LR      IS,A	     Get to initial byte
   919 1C5F 4C		     LR      A,S
   920 1C60 53		     LR      3,A
   921 1C61 28 1A 74	     PI      FKT
   922 1C64 84 23	     BZ      RBN
   923 1C66 20 29	     LI      ISE	     Start of empty region
   924 1C68 C4		     AS      4		     Add off-set
   925 1C69 0B		     LR      IS,A
   926 1C6A 4D		   LR	   A,I		     Look to LF empty squares
   927 1C6B 15		   SL	   4
 **OPERATOR SYNTAX    LINE #   928
   928
   929 1C6C 13		   SL	   1
   930 1C6D 50		   LR	   0,A
   931 1C6E 4C		   LR	   A,S
   932 1C6F 14		   SR	   4
   933 1C70 C0		   AS	   0
   934 1C71 F3		   NS	   3
   935 1C72 53		   LR	   3,A		  Pieces that can move LF
   936 1C73 84 14	     BZ      RBN
   937 1C75 71		     LIS     H'1'
   938 1C76 55		     LR      5,A
   939 1C77 28 1A 89	     PI      STMV
   940 1C7A 70		     CLR
   941 1C7B E6		     XS      6
   942 1C7C 84 0B	     BZ      RBN
   943 1C7E 29 1C D1	     JMP     NORF
   944 1C81 45	     RBN0    LR      A,5
   945 1C82 25 02	     CI      H'2'	     Which direction, 1, 2, or 3?
   946 1C84 91 29	     BM      LBN	     It was a 3
   947 1C86 94 D4	     BNZ     LFN	     It was a 1
   948 1C88 20 18    RBN     LI      ISA
   949 1C8A C4		     AS      4		     Add byte off-set
   950 1C8B 0B		     LR      IS,A	     Get to initial byte
   951 1C8C 4C		     LR      A,S
   952 1C8D 53		     LR      3,A
   953 1C8E 28 1A 7C	     PI      BKT
   954 1C91 84 42	     BZ      NORT
   955 1C93 20 28	     LI      ISE-1
   956 1C95 C4		     AS      4		     Add off-set
   957 1C96 0B		     LR      IS,A
   958 1C97 4D		   LR	   A,I		  Look to RB empty squares
   959 1C98 15		   SL	   4
   960 1C99 50		   LR	   0,A
   961 1C9A 4C		   LR	   A,S
   962 1C9B 14		   SR	   4
   963 1C9C 12		   SR	   1
   964 1C9D C0		   AS	   0
   965 1C9E F3		   NS	   3
   966 1C9F 53		   LR	   3,A		  Pieces that can move RB
   967 1CA0 84 0D	     BZ      LBN
   968 1CA2 72		     LIS     H'2'
   969 1CA3 55		     LR      5,A
   970 1CA4 28 1A 89	     PI      STMV
   971 1CA7 70		     CLR
   972 1CA8 E6		     XS      6
   973 1CA9 84 04	     BZ      LBN
   974 1CAB 29 1C D1	     JMP     NORF
   975 1CAE 20 18    LBN     LI      ISA
   976 1CB0 C4		     AS      4		     Add byte off-set
   977 1CB1 0B		     LR      IS,A	     Get to initial byte
   978 1CB2 4C		     LR      A,S
   979 1CB3 53		     LR      3,A
   980 1CB4 28 1A 7C	     PI      BKT
   981 1CB7 84 1C	     BZ      NORT
   982 1CB9 20 28	     LI      ISE-1
   983 1CBB C4		     AS      4		     Add off-set
   984 1CBC 0B		     LR      IS,A
   985 1CBD 4D		   LR	   A,I		     Look to LB empty squares
   986 1CBE 15		   SL	   4
   987 1CBF 13		   SL	   1
   988 1CC0 50		   LR	   0,A
   989 1CC1 4C		   LR	   A,S
   990 1CC2 14		   SR	   4
   991 1CC3 C0		   AS	   0
   992 1CC4 F3		   NS	   3
   993 1CC5 53		   LR	   3,A		  Pieces that can move LB
   994 1CC6 84 0D	     BZ      NORT
   995 1CC8 73		     LIS     H'3'
   996 1CC9 55		     LR      5,A
   997 1CCA 28 1A 89	     PI      STMV
   998 1CCD 70		     CLR
   999 1CCE E6		     XS      6
  1000 1CCF 84 04	     BZ      NORT
  1001 1CD1 29 18 00 NORF    JMP     SELE
  1002		     *We get here if we want to compute mobility and also if no moves f
  1003 1CD4 44	     NORT    LR      A,4
  1004 1CD5 1F		     INC
  1005 1CD6 21 03	     NI      H'3'
  1006 1CD8 54		     LR      4,A
  1007 1CD9 84 04	     BZ      NOR0
  1008 1CDB 29 1C 35	     JMP     RFN	     Go round again for next byte
  1009 1CDE 70	     NOR0    CLR
  1010 1CDF E2		     XS      2		     Get mobility count
  1011 1CE0 94 04	     BNZ     NOR1
  1012 1CE2 29 1D 13	     JMP     AFT	     Woops! no move found
  1013 1CE5 4B	     NOR1    LR      A,HL	     Where are we?
  1014 1CE6 14		     SR      4		     Get Ply number
  1015 1CE7 24 FF	     AI      -H'1'
  1016 1CE9 94 07	     BNZ     NOR2	     Checking for possible player's mov
  1017 1CEB 28 13 00	     PI      BORD	     Put up board for player
  1018 1CEE 29 11 00	     JMP     PMOV	     Yes, so let him move
  1019 1CF1 2A 0C 28 NOR2    DCI     PLY0	     Player's choice of ply
  1020 1CF4 88		     AM
  1021 1CF5 10		     LR      DC,H	     Reset DC
  1022 1CF6 91 0F	     BM      NOR4	     Go on in this case
  1023 1CF8 94 0A	     BNZ     NOR3	     Stop for sure
  1024 1CFA 20 F5	     LI      H'F5'	     Decision based on previous move
  1025 1CFC 8E		     ADC
  1026 1CFD 16		     LM
  1027 1CFE 21 10	     NI      H'10'	     Test jump flag
  1028 1D00 10		     LR      DC,H
  1029 1D01 94 04	     BNZ     NOR4	     Go on if previous move was a jump
  1030 1D03 29 1E 1D NOR3    JMP     EVAL
  1031 1D06 4B	     NOR4    LR      A,HL
  1032 1D07 14		     SR      4
  1033 1D08 24 FF	     AI      -H'1'
  1034 1D0A 2A 0F B0	     DCI     MOBS
  1035 1D0D 8E		     ADC
  1036 1D0E 42		     LR      A,2
  1037 1D0F 17		     ST			     Save mobility in MOBS space indexe
  1038 1D10 29 18 00 NOR7    JMP     SELE
  1039		     * AFT
  1040		     MAT     EQU     H'0'	     Register used for Material Adv. te
  1041		     POT     EQU     H'6'	     Register used for Positional Adv.
  1042		     HLS     EQU     H'4'	     Register to save starting HL
  1043		     SCS     EQU     H'5'	     Register to save starting SCOR off
  1044		     *No more moves found so time to back up
  1045 1D13 4B	     AFT     LR      A,HL	     Prepare to back up
  1046 1D14 25 20	     CI      H'20'
  1047 1D16 94 0F	     BNZ     AFT0	     Not at end of tree search
  1048		     *Prepare for verification of player's reply
  1049 1D18 24 F0	     AI      H'F0'	     Back to player's board
  1050 1D1A 5B		     LR      HL,A
  1051 1D1B 47		     LR      A,7
  1052 1D1C 18		     COM		     Reverse sides
  1053 1D1D 57		     LR      7,A
  1054 1D1E 2A 0E D0	     DCI     PLMV	     This space is also used by TREE ro
  1055 1D21 70		     CLR		     Clear first byte
  1056 1D22 17		     ST
  1057 1D23 29 1B 22	     JMP     FIND	     Get verification info for move
  1058 1D26 54	     AFT0    LR      HLS,A	     Save  HL at start
  1059 1D27 14		     SR      4
  1060 1D28 24 FF	     AI      -H'1'
  1061 1D2A 13		     SL      1		     2 bytes per entry
  1062 1D2B 55		     LR      SCS,A	     Save SCOR offset at start
  1063 1D2C 2A 0E F0	     DCI     SCOR
  1064 1D2F 8E		     ADC
  1065 1D30 0E		     LR      Q,DC	     We'll use this as reference point
  1066 1D31 16		     LM
  1067 1D32 50		     LR      0,A	     The current material advantage ter
  1068 1D33 16		     LM
  1069 1D34 56		     LR      6,A	     The current positional term
  1070 1D35 4B		     LR      A,HL
  1071 1D36 25 30	     CI      H'30'
  1072 1D38 84 97	     BZ      AFT5	     Can't prune and not double jump
  1073 1D3A 90 95	     BR      AFT5	     TEMPORARY BYPASS ----
  1074 1D3C 10	     AFTE    LR      DC,H	     EVAL enters here
  1075 1D3D 24 FE	     AI      -H'2'	     Look at previous ACTM
  1076 1D3F 8E		     ADC
  1077 1D40 70		     CLR
  1078 1D41 8C		     XM			     At continuation board?
  1079 1D42 4B		     LR      A,HL
  1080 1D43 91 04	     BM      AFTC
  1081 1D45 29 1D AA	     JMP     AFT1	      Not a continuation board
  1082		     * At a continuation board
  1083 1D48 24 FE    AFTC    AI      -H'2'	     To look at passed board ACTM
  1084 1D4A 5B		     LR      HL,A
  1085 1D4B 0F	     AFC1    LR      DC,Q
  1086 1D4C 20 FC	     LI      -H'4'	     Back 2 levels
  1087 1D4E 8E		     ADC
  1088 1D4F 0E		     LR      Q,DC
  1089 1D50 40		     LR      A,0
  1090 1D51 8D		     CM
  1091 1D52 91 09	     BM      AFC2	      Should back score for sure
  1092 1D54 94 4E	     BNZ     AFC7	     Don't back score
  1093 1D56 46		     LR      A,6	     First terms the same so try second
  1094 1D57 8D		     CM
  1095 1D58 91 03	     BM      AFC2	      Should back score
  1096 1D5A 90 48	     BR      AFC7	      Don't back score
  1097 1D5C 0F	     AFC2    LR      DC,Q
  1098 1D5D 40		     LR      A,0
  1099 1D5E 17		     ST
  1100 1D5F 46		     LR      A,6
  1101 1D60 17		     ST
  1102 1D61 4B		     LR      A,HL
  1103 1D62 21 10	     NI      H'10'	     Is machine's side moving
  1104 1D64 94 3E	     BNZ     AFC7	     No, so no need to back more
  1105 1D66 4B		     LR      A,HL
  1106 1D67 25 4E	     CI      H'4E'	     Have we passed the 4th level
  1107 1D69 84 0D	     BZ      AFC3	     We may want to save this board
  1108 1D6B 90 0B	     BR      AFC3	     DEBUGGING BYPASS ----
  1109 1D6D 70		     LIS     H'E0'	     Look 2 boards earlier
  1110 1D6E CB		     AS      HL		     H already points at ACTM
  1111 1D6F 5B		     LR      HL,A	     Here's where H gets changed
  1112 1D70 10		     LR      DC,H
  1113 1D71 70		     CLR
  1114 1D72 8C		     XM
  1115 1D73 91 D7	     BM      AFC1	     Go around again
  1116 1D75 90 2D	     BR      AFC7
  1117 1D77 0F	     AFC3    LR      DC,Q
  1118 1D78 20 FE	     LI      -H'2'	     Back 1 level now
  1119 1D7A 8E		     ADC
  1120 1D7B 0E		     LR      Q,DC
  1121 1D7C 46		     LR      A,6
  1122 1D7D 18		     COM		     Negate scores for odd back-up
  1123 1D7E 1F		     INC
  1124 1D7F 56		     LR      6,A
  1125 1D80 40		     LR      A,0
  1126 1D81 82 04	     BC      AFC4
  1127 1D83 18		     COM
  1128 1D84 90 03	     BR      AFC5
  1129 1D86 18	     AFC4    COM
  1130 1D87 1F		     INC
  1131 1D88 50	     AFC5    LR      0,A
  1132 1D89 8D		     CM
  1133 1D8A 91 07	     BM      AFC6
  1134 1D8C 94 86	     BNZ     AF12
  1135 1D8E 46		     LR      A,6
  1136 1D8F 8D		     CM
  1137 1D90 81 12	     BP      AFC7
  1138		     * Move the score to the HL=20 level and save board
  1139		     *	from the starting level to the TREE level
  1140 1D92 0F	     AFC6    LR      DC,Q
  1141 1D93 40		     LR      A,0
  1142 1D94 17		     ST
  1143 1D95 46		     LR      A,6
  1144 1D96 17		     ST
  1145 1D97 44		     LR      A,HLS
  1146 1D98 5B		     LR      HL,A
  1147 1D99 10		     LR      DC,H
  1148 1D9A 2C		     XDC
  1149 1D9B 2A 0E 10	     DCI     TREE
  1150 1D9E 62		     LISU    2
  1151 1D9F 68		     LISL    0
  1152 1DA0 28 43 CD	     PI      TRAN
  1153 1DA3 20 E0    AFC7    LI      H'E0'
  1154 1DA5 C4		     AS      HLS
  1155 1DA6 5B		     LR      HL,A
  1156 1DA7 29 1E 13	     JMP     AF12
  1157		     * Could be backing into a multiple jump
  1158 1DAA 24 EE    AFT1    AI      H'EE'	     Look at ATCM back 2 boards
  1159 1DAC 5B	     AFT2    LR      HL,A
  1160 1DAD 10		     LR      DC,H
  1161 1DAE 70		     CLR
  1162 1DAF 8C		     XM
  1163 1DB0 81 0D	     BP      AFT3	     Not a passed board
  1164 1DB2 90 1D	     BR      AFT5	     TEMPORARY FIX ONLY
  1165 1DB4 0F		     LR      DC,Q	     Try 2 more levels back
  1166 1DB5 20 FC	     LI      -H'4'
  1167 1DB7 8E		     ADC
  1168 1DB8 0E		     LR      Q,DC
  1169 1DB9 20 E0	     LI      H'E0'
  1170 1DBB CB		     AS      HL
  1171 1DBC 90 EF	     BR      AFT2	     Go around again
  1172 1DBE 0F	     AFT3    LR      DC,Q	     Now we can try to prune
  1173 1DBF 20 FC	     LI      -H'4'	     2 levels earlier
  1174 1DC1 8E		     ADC
  1175 1DC2 40		     LR      A,0
  1176 1DC3 8D		     CM
  1177 1DC4 91 0B	     BM      AFT5	     Can't alpha-beta prune
  1178 1DC6 94 05	     BNZ     AFT4	     Can prune
  1179 1DC8 46		     LR      A,6	     First terms the same, try second t
  1180 1DC9 8D		     CM
  1181 1DCA 91 05	     BM      AFT5	     Can't prune
  1182 1DCC 20 F2    AFT4    LI      -H'E'	     Back up to start of this level
  1183 1DCE 90 40	     BR      AF11	     A successful prune
  1184		     * Now try an ordinary back-up
  1185 1DD0 44	     AFT5    LR      A,HLS	     Reestablish starting conditions
  1186 1DD1 5B		     LR      HL,A
  1187 1DD2 20 FE	     LI      -H'2'
  1188 1DD4 C5		     AS      SCS
  1189 1DD5 2A 0E F0	     DCI     SCOR
  1190 1DD8 8E		     ADC
  1191 1DD9 0E		     LR      Q,DC
  1192 1DDA 46		     LR      A,6	     Change sign of score terms
  1193 1DDB 18		     COM
  1194 1DDC 1F		     INC
  1195 1DDD 56		     LR      6,A
  1196 1DDE 40		     LR      A,0
  1197 1DDF 82 04	     BC      AFT6
  1198 1DE1 18		     COM
  1199 1DE2 90 03	     BR      AFT7
  1200 1DE4 18	     AFT6    COM
  1201 1DE5 1F		     INC
  1202 1DE6 50	     AFT7    LR      0,A
  1203 1DE7 8D		     CM
  1204 1DE8 91 07	     BM      AFT8	     Back score for sure
  1205 1DEA 94 19	     BNZ     AFT9	     Do not back score
  1206 1DEC 46		     LR      A,6	     Must test second bytes
  1207 1DED 8D		     CM
  1208 1DEE 81 15	     BP      AFT9	     Do not back scores
  1209 1DF0 0F	     AFT8    LR      DC,Q
  1210 1DF1 40		     LR      A,0
  1211 1DF2 17		     ST
  1212 1DF3 46		     LR      A,6
  1213 1DF4 17		     ST
  1214 1DF5 4B		     LR      A,HL
  1215 1DF6 25 30	     CI      H'30'	     Should we save this board?
  1216 1DF8 94 0B	     BNZ     AFT9	     No
  1217 1DFA 10		     LR      DC,H
  1218 1DFB 2C		     XDC
  1219 1DFC 2A 0E 10	     DCI     TREE
  1220 1DFF 62		     LISU    2
  1221 1E00 68		     LISL    0
  1222 1E01 28 43 CD	     PI      TRAN
  1223 1E04 28 17 80 AFT9    PI      SHOW
  1224 1E07 28 1E E9	     PI      WAST
  1225 1E0A 47		     LR      A,7
  1226 1E0B 18		     COM
  1227 1E0C 57		     LR      7,A
  1228 1E0D 20 F0	     LI      H'F0'	     Back up 1 level
  1229 1E0F CB	     AF11    AS      HL
  1230 1E10 5B		     LR      HL,A
  1231 1E11 71		     LIS     H'1'
  1232 1E12 56		     LR      6,A
  1233 1E13 10	     AF12    LR      DC,H
  1234 1E14 28 1A 36	     PI      RASC
  1235 1E17 28 1E 96	     PI      EMPT
  1236 1E1A 29 18 00	     JMP     SELE
  1237		     * EVAL
  1238 1E1D 20 26    EVAL    LI      ACTM	     Compute the material advantage ter
  1239 1E1F 0B		     LR      IS,A
  1240 1E20 4D		     LR      A,I
  1241 1E21 50		     LR      0,A	     ACTM
  1242 1E22 4D		     LR      A,I
  1243 1E23 52		     LR      2,A	     PASM
  1244 1E24 18		     COM
  1245 1E25 1F		     INC
  1246 1E26 C0		     AS      0
  1247 1E27 53		     LR      3,A	     ACTM-PASM
  1248 1E28 81 03	     BP      EVA0
  1249 1E2A 18		     COM
  1250 1E2B 1F		     INC
  1251 1E2C 51	     EVA0    LR      1,A	     |A-P|
  1252 1E2D 40		     LR      A,0
  1253 1E2E C2		     AS      2
  1254 1E2F 18		     COM
  1255 1E30 1F		     INC
  1256 1E31 24 30	     AI      H'30'	     Add 48
  1257 1E33 52		     LR      2,A	     48-A-P
  1258 1E34 70		     CLR		     by smaller pos. # in 1
  1259 1E35 50		     LR      0,A	     Product into 0
  1260 1E36 41		     LR      A,1
  1261 1E37 21 01    EVA1    NI      H'1'	     Is the rightmost bit a 1?
  1262 1E39 84 04	     BZ      EVA2	     No
  1263 1E3B 42		     LR      A,2
  1264 1E3C C0		     AS      0
  1265 1E3D 50		     LR      0,A
  1266 1E3E 42	     EVA2    LR      A,2
  1267 1E3F 13		     SL      1
  1268 1E40 52		     LR      2,A
  1269 1E41 41		     LR      A,1
  1270 1E42 12		     SR      1
  1271 1E43 51		     LR      1,A
  1272 1E44 94 F2	     BNZ     EVA1	     Product is not complete
  1273 1E46 70		     CLR
  1274 1E47 E3		     XS      3		     To get sign
  1275 1E48 40		     LR      A,0
  1276 1E49 81 04	     BP      EVA3
  1277 1E4B 18		     COM
  1278 1E4C 1F		     INC
  1279 1E4D 50		     LR      0,A	     Material advantage with sign
  1280 1E4E 4B	     EVA3    LR      A,HL
  1281 1E4F 54		     LR      HLS,A	     Save starting HL
  1282 1E50 14		     SR      4
  1283 1E51 24 FF	     AI      -H'1'
  1284 1E53 55		     LR      5,A	     We'll need it again
  1285 1E54 13		     SL      1		     2 bytes per entry
  1286 1E55 55		     LR      SCS,A	     Save initial score offset also
  1287 1E56 2A 0E F0	     DCI     SCOR
  1288 1E59 8E		     ADC
  1289 1E5A 0E		     LR      Q,DC	     Used as reference point by AFT
  1290 1E5B 2A 0F B0	     DCI     MOBS	     Compute mobility term
  1291 1E5E 20 FF	     LI      -H'1'
  1292 1E60 C5		     AS      5
  1293 1E61 8E		     ADC
  1294 1E62 16		     LM			     Get earlier mobility
  1295 1E63 18		     COM
  1296 1E64 1F		     INC
  1297 1E65 C2		     AS      2		     Add current mobility
  1298 1E66 25 07	     CI      H'7'	     Difference limited to absolute 7
  1299 1E68 81 02	     BP      EVA4
  1300 1E6A 77		     LIS     H'7'
  1301 1E6B 25 F9    EVA4    CI      -H'7'
  1302 1E6D 91 03	     BM      EVA5
  1303 1E6F 20 F9	     LI      -H'7'
  1304 1E71 15	     EVA5    SL      4		     Make room for ply term
  1305 1E72 56		     LR      6,A	     Save difference (and free 2)
  1306 1E73 45	     EVA6    LR      A,5	     Get ply value
  1307 1E74 81 07	     BP      EVA7	     Test sign of MATL term
  1308 1E76 18		     COM		     If neg. we add H'10'-M
  1309 1E77 1F		     INC
  1310 1E78 24 10	     AI      H'10'
  1311 1E7A 90 03	     BR      EVA8
  1312 1E7C 24 F0    EVA7    AI      -H'10'	     If pos. we add M-H'10'
  1313 1E7E C6	     EVA8    AS      6		     Add it in
  1314 1E7F 56		     LR      6,A	     Positional term with PLY
  1315 1E80 81 0B	     BP      EVA9	     No carry
  1316 1E82 20 FF	     LI      H'FF'
  1317 1E84 C0		     AS      0
  1318 1E85 50		     LR      0,A
  1319 1E86 91 05	     BM      EVA9
  1320 1E88 46		     LR      A,6
  1321 1E89 18		     COM
  1322 1E8A 1F		     INC
  1323 1E8B 56		     LR      6,A
  1324 1E8C 4B	     EVA9    LR      A,HL
  1325 1E8D 54		     LR      HLS,A
  1326 1E8E 14		     SR      4
  1327 1E8F 24 FF	     AI      -H'1'
  1328 1E91 13		     SL      1
  1329 1E92 55		     LR      SCS,A
  1330 1E93 29 1D 3C	     JMP     AFTE	     AFT routine handles from here on
  1331		     * EMPT CAQ MPYR WAST
  1332 1E96 08	     EMPT    LR      K,P	     Empty squares in O'51' thru O'54'
  1333 1E97 65		     LISU    ELOC	     with guard bytes in 50 and 55
  1334 1E98 68		     LISL    0
  1335 1E99 70		     CLR
  1336 1E9A 5C		     LR      S,A	     Make sure guard byte is empty
  1337 1E9B 63		     LISU    PLOC	     Start with ACTIVE
  1338 1E9C 74		     LIS     H'4'
  1339 1E9D 50		     LR      0,A
  1340 1E9E 90 05	     BR      EMP3
  1341 1EA0 0A	     EMP2    LR      A,IS
  1342 1EA1 24 30	     AI      H'30'	     Actually subtracting 16
  1343 1EA3 0B		     LR      IS,A
  1344 1EA4 4C	     EMP3    LR      A,S
  1345 1EA5 51		     LR      1,A
  1346 1EA6 0A		     LR      A,IS
  1347 1EA7 24 04	     AI      4
  1348 1EA9 0B		     LR      IS,A
  1349 1EAA 4C		     LR      A,S
  1350 1EAB C1		     AS      1
  1351 1EAC 51		     LR      1,A
  1352 1EAD 0A		     LR      A,IS
  1353 1EAE 24 0D	     AI      H'D'	     Add 13 get to the correct EMPTY lo
  1354 1EB0 0B		     LR      IS,A
  1355 1EB1 41		     LR      A,1
  1356 1EB2 18		     COM		     Reverse 1's and 0's
  1357 1EB3 5C		     LR      S,A
  1358 1EB4 30		     DS      0
  1359 1EB5 94 EA	     BNZ     EMP2
  1360 1EB7 4D		     LR      A,I	     To index only
  1361 1EB8 70		     CLR
  1362 1EB9 5C		     LR      S,A	     Upper guard byte
  1363 1EBA 0C		     PK
  1364		     *-*-*-*-*-*-*-*-*-*
  1365 1EBB 08	     CAQ     LR      K,P	     To add count of bits in 0 to count
  1366 1EBC 40		     LR      A,0
  1367 1EBD 84 08	     BZ      CAQ4
  1368 1EBF 31	     CAQ2    DS      1
  1369 1EC0 24 FF	     AI      H'FF'
  1370 1EC2 F0		     NS      0
  1371 1EC3 50		     LR      0,A
  1372 1EC4 94 FA    CAQ3    BNZ     CAQ2
  1373 1EC6 0C	     CAQ4    PK
  1374		     *-*-*-*-
  1375 1EC7 08	     MPYR    LR      K,P	     Multiplies larger pos. number in 2
  1376 1EC8 70		     CLR		     by smaller pos. # in 1
  1377 1EC9 50		     LR      0,A	     Product into 0
  1378 1ECA 41		     LR      A,1
  1379 1ECB 21 01    MPY1    NI      H'1'	     Is the rightmost bit a 1?
  1380 1ECD 84 04	     BZ      MPY2	     No
  1381 1ECF 42		     LR      A,2
  1382 1ED0 C0		     AS      0
  1383 1ED1 50		     LR      0,A
  1384 1ED2 42	     MPY2    LR      A,2
  1385 1ED3 13		     SL      1
  1386 1ED4 52		     LR      2,A
  1387 1ED5 41		     LR      A,1
  1388 1ED6 12		     SR      1
  1389 1ED7 51		     LR      1,A
  1390 1ED8 94 F2	     BNZ     MPY1	     Product is not complete
  1391 1EDA 0C		     PK
  1392		     *-*-*-
  1393		     *First replies (maximum of 4 each)
  1394 1EDB 33	     BOK2    DC      H'33'   24,20  24-20    To 12-16
  1395 1EDC 33		     DC      H'33'   24-20, 24-20
  1396 1EDD 43		     DC      H'43'   23-19, 24-20    To 11-15
  1397 1EDE 20		     DC      H'20'   22-17, 24-19
  1398 1EDF 22		     DC      H'22'   22-17, 22-17    To 10-14
  1399 1EE0 22		     DC      H'22'   22-17, 22-17
  1400 1EE1 55		     DC      H'55'   22-18, 22-18    To  9-13
  1401 1EE2 55		     DC      H'55'   22-18, 22-18
  1402 1EE3 31		     DC      H'31'   24-20, 23-18    To 11-16
  1403 1EE4 45		     DC      H'45'   24-19, 22-18
  1404 1EE5 66		     DC      H'66'   21-17, 21-17    To 10-15
  1405 1EE6 66		     DC      H'66'   21-17, 21-17
  1406 1EE7 55		     DC      H'55'   22-18, 22-18    To  9-14
  1407 1EE8 55		     DC      H'55'   22-18, 22-18
  1408		     *-*-*-
  1409 1EE9 08	     WAST    LR      K,P	Delay loop to WASTE some time
  1410 1EEA 71		     LIS     H'1'	Should be about 2 sec.
  1411 1EEB 50		     LR      0,A
  1412 1EEC 70	     WAS2    CLR
  1413 1EED 51		     LR      1,A
  1414 1EEE 70	     WAS3    CLR
  1415 1EEF 52		     LR      2,A
  1416 1EF0 32	     WAS4    DS      2
  1417 1EF1 94 FE	     BNZ     WAS4
  1418 1EF3 31		     DS      1
  1419 1EF4 94 F9	     BNZ     WAS3
  1420 1EF6 30		     DS      0
  1421 1EF7 94 F4	     BNZ     WAS2
  1422 1EF9 0C		     PK
  1423		     *
  1424 1EFA 00	     PAT1    DC      0
  1425 1EFB 00		     DC      0
  1426 1EFC 00		     DC      0
  1427 1EFD 00		     DC      0
  1428 1EFE 00		     DC      0
  1429 1EFF 00		     DC      0
  1430 1F00 00		     DC      0
  1431 1F01 00		     DC      0
  1432 1F02 00		     DC      0
  1433 1F03 00		     DC      0
  1434 1F04 00		     DC      0
  1435 1F05 00		     DC      0
  1436 1F06 00		     DC      0
  1437 1F07 00		     DC      0
  1438 1F08 00		     DC      0
  1439 1F09 00		     DC      0
  1440 1F0A 00		     DC      0
  1441 1F0B 00		     DC      0
  1442 1F0C 00		     DC      0
  1443 1F0D 00		     DC      0
  1444 1F0E 00		     DC      0
  1445 1F0F 00		     DC      0
  1446 1F10 00		     DC      0
  1447 1F11 00		     DC      0
  1448 1F12 00		     DC      0
  1449 1F13 00		     DC      0
  1450 1F14 00		     DC      0
  1451 1F15 00		     DC      0
  1452 1F16 00		     DC      0
  1453 1F17 00		     DC      0
  1454 1F18 00		     DC      0
  1455 1F19 00		     DC      0
  1456 1F1A 00		     DC      0
	      END
 NUMBER OF ERRORS=  2
1
 J     =0009 VY    =0004 VX    =0003 HU    =000A HL    =000B Y	   =0002
 X     =0001 ISA   =0018 EVAL	1E1D HSAL  =0C27 TRAN  =43CD UDAT  =424D
 HSAV  =0C26 EVA0   1E2C EVA1	1E37 EVA2   1E3E EVA3	1E4E EVA4   1E6B
 EVA5	1E71 EVA6   1E73 EVA7	1E7C EVA8   1E7E EVA9	1E8C MOBS  =0FB0
 WMC   =1200 TXC   =0FE8 SHCB  =0FE2 AFC1   1D4B AFC2	1D5C AFC3   1D77
 AFC4	1D86 AFC5   1D88 AFC6	1D92 AFC7   1DA3 REDM	1A31 ISE   =0029
 TREE  =0E10 CLER  =4762 ISE0  =0028 TRE2  =0E20 TRE3  =0E30 TRE5  =0E50
 WDG   =4105 UPI   =0FFA ULIN  =00F5 WAIT  =4501 LFJ	1B64 LBJ    1BC7
 RBJ	1B99 RFJ    1B36 OBJ0  =0C30 NEJ0   1B1F RBJ0	1B92 OBJ1  =0F10
 ISK   =0020 BOK2   1EDB SHL   =27C6 DELE   1828 SELE	1800 BFLG  =0C20
 INLH	183E WTLN  =0FE5 YBLN  =0C23 XBLN  =0C22 SELX  =0C2A COL0  =0C29
 DEL2	1838 INL2   1847 INL3	184D SEL3   1813 SEL4	181E COM   =08F7
 JUMA	1892 JUMB   1893 JUMC	18AD PLMD  =0E5B BCMD  =006D TCMD  =0044
 PLMF  =0EE0 JUMP   1868 TEMP  =0008 PLMV  =0ED0 BKMV  =0C25 STMV   1A89
 STM0	1A93 JUM1   187D STM1	1A9A JUM2   18A0 STM2	1AB7 JUM3   18A1
 STM3	1AA8 JUM4   18BA NOM4	193F STM4   1AAF JUM5	18BF NOM5   1946
 STM5	1ABA JUM6   18C6 NOM6	194B JUM7   18D7 JUM9	18DB LFN    1C5B
 LBN	1CAE RBN    1C88 RFN	1C35 DBNC  =0FEB FIND	1B22 LINE  =0FDF
 BLNF  =0C21 BCNT  =0C24 FINX	1BFB NEN0   1B14 RBN0	1C81 FIN1   1BF2
 FIN2	1BF4 FIN3   1BFE FIN4	1C02 FIN5   1C0C FIN6	1C13 FIN7   1C1A
 FIN8	1C26 FIN9   1C29 ELOC  =0005 KLOC  =0004 PLOC  =0003 TCOL  =0080
 XZOP  =0034 SCOR  =0EF0 YPOS  =0F0F XPOS  =0F0C PMOV  =1100 SHOW  =1780
 ISP   =001C INPF  =0FE3 POPS  =40BC EMPT   1E96 EMP2	1EA0 EMP3   1EA4
 CAQ	1EBB CAQ2   1EBF CAQ3	1EC4 CAQ4   1EC6 TIR   =45DB SHR   =27D3
 SCRA	1A47 BORD  =1300 FORE	1959 NORF   1CD1 CMRG  =0FEA INRH   184F
 SCRL	1A6D NORM   1926 NORT	1CD4 NOR0   1CDE NOR1	1CE5 INR2   185A
 NOR2	1CF1 FOR2   195E NOR3	1D03 SCR3   1A6E FOR3	198F NOR4   1D06
 FOR4	1992 FOR5   19B7 FOR6	19ED NOR7   1D10 WMS   =4205 CDS   =41D5
 IJS   =22DB HLS   =0004 SPS   =40D0 SCS   =0005 FCS   =43D6 RASC   1A36
 PUSH  =40A9 PASM  =0027 WAST	1EE9 YTST  =0009 RGSV  =0FC1 WAS2   1EEC
 RAS2	1A39 WAS3   1EEE RAS3	1A40 WAS4   1EF0 POT   =0006 CHT   =0003
 BKT	1A7C AFT    1D13 MAT   =0000 FKT    1A74 AFTC	1D48 AFTE   1D3C
 BOTH	1860 ACTM  =0026 AFT0	1D26 PAT1   1EFA AFT1	1DAA AFT2   1DAC
 FKT2	1A79 AFT3   1DBE AFT4	1DCC AFT5   1DD0 AFT6	1DE4 AFT7   1DE6
 AFT8	1DF0 AFT9   1E04 WAUD  =41C8 WAU1  =41CC BMV2	1A0B NEXA   1AF8
 NEXJ	1B17 NEXT   1AC7 NEXX	1AE7 NEXY   1AF5 MAXY  =004D PLYD  =00FD
 PLYH  =00FC JOYI  =21AD MPYR	1EC7 JOYT  =0C00 PLYT  =00FE PLY0  =0C28
 MPY1	1ECB MPY2   1ED2 FK1	1A81 JU11   187F AF11	1E0F AF12   1E13
 BM17	1A11 BM18   1A13 BM19	1A1A FK2    1A88 JU71	18DE JU72   190C
 JU73	1913